package com.example.exceldemo.model;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;

// 使用MyBatis-Plus的注解替代JPA注解
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;

import java.time.LocalDateTime;

/**
 * Excel解析结果缓存实体类
 * 用于存储Excel文件解析结果，避免重复解析提高性能
 */
@Data
@TableName("parsed_excel_data")
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ParsedExcelData {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 原始文件名
     */
    @TableField("original_filename")
    private String originalFilename;

    /**
     * 文件内容哈希值，用于快速判断文件是否发生变化
     */
    @TableField("file_hash")
    private String fileHash;

    /**
     * 解析结果的JSON字符串
     */
    @TableField("data_json")
    private String dataJson;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 过期时间
     */
    @TableField("expire_time")
    private LocalDateTime expireTime;

    /**
     * 最后访问时间，用于判断数据活跃度
     */
    @TableField("last_access_time")
    private LocalDateTime lastAccessTime;
} 